﻿// JScript 文件
//定义全局变量
var arrQuestion = new Array();
var qNum = 0;//当前问卷问题编号
$(document).ready(function(){
    //初始化按钮
    $('ul.icons li').hover(
			    function() { $(this).addClass('ui-state-hover'); }, 
			    function() { $(this).removeClass('ui-state-hover'); }
		    );
    // 初始化弹出窗口			
	$('#dialog').dialog({
		autoOpen: false,
		width: 600,
		height: 400,
		show:"slide",
		hide:"slide",
		buttons: {
			"Ok": function() { 
			    UpOneQuestion($("#Qid").val());
				$(this).dialog("close"); 
			}, 
			"Cancel": function() { 
				$(this).dialog("close"); 
			} 
		}
	});
	// 绑定弹出窗口
	$('#dialog_link').click(function(){
	    $("#QuestionName").val("");
		$('#dialog').dialog('open');
		$("#Qid").val("");
		//初始化选项
		InitOption();
		return false;
	});
	//选择问题类型
	$('.QuestionType').click(function(){
	    switch ($(this).attr("value"))
	    {
	        case "single":
	           InitOption();
	           $('#QuestionType').val("single");
	           $("#additem").show();
	        break;
	        case "single_other":
	           InitOption();
	           $('#QuestionType').val("single_other");
	           $("#additem").show();
	        break;
	        case "multicheck":
	            InitOption();
	            $('#QuestionType').val("multicheck");
	            $("#additem").show();
	        break;
	        case "multicheck_other":
	            InitOption();
	            $('#QuestionType').val("multicheck_other");
	            $("#additem").show();
	        break;
	        case "singleblank":
	            $(".repeat").remove();;
	            $('#QuestionType').val("singleblank");
	            $("#additem").hide();
	        break;
	    }
	    
	});
	
	   
    //添加按钮事件绑定   
    $("#additem").click(function(){ 
        $("#OptionAdd>.template")   
            //连同事件一起复制   
            .clone(true)   
            //去除模板标记   
            .removeClass("template") 
            .addClass("repeat")  
            //修改内部元素   
            .find(".content")   
                .html("选项:&nbsp;&nbsp;<input type='text' class='text' style='width:300px'>")   
                .end()  
            .find(".del")   
                .html("<ul class='icons'><li class='ui-state-default ui-corner-all' ><span class='ui-icon ui-icon-minusthick'></span></li></ul>")   
                .end()         
            //插入表格   
            .appendTo($("#OptionAdd"))   
         
    });
});
//提交问题处理
function UpOneQuestion(Qid)
{
    //初始化变量
    var OHtml = "";
    var html ="";
    var QName =$("#QuestionName").val();
    var qType = "";
    var qOther = "";
    
    if(Qid) //是否修改问题
    {
        html = "<ul>"+Qid+".&nbsp;"+$("#QuestionName").val();
    }
    else
    {
        qNum++;
        html ="<div id='Q"+qNum+"' rel = '"+QName+"' qType = '"+$("#QuestionType").val()+"'><ul>"+qNum+".&nbsp;"+$("#QuestionName").val()
    }
    html +="&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;<a href='#' id='E"+qNum+"' >[Edit]</a>";
    html +="&nbsp;&nbsp;&nbsp;<a href='#' id='D"+qNum+"' >[Del]</a></ul><ul>"
    //问题页面处理
    switch ($("#QuestionType").val())
	{
	    case "single":
	        qType = "<input type='radio'/> ";
	    break;
	    case "single_other":
	        qType = "<input type='radio'  /> ";
	        qOther = "<br><li><textarea name='other' ></textarea></li>";
	    break;
	    case "multicheck_other":
	        qType = "<input type='checkbox'  />"; 
	        qOther = "<br><li><textarea name='other' ></textarea></li>";
	    break;
	    case "multicheck":
	        qType = "<input type='checkbox'  />"; 
	    break;
	    case "singleblank":
	        qType = "<textarea ></textarea>"; 
	        html+= "<li>"+qType+"</li>"
	    break;
	}
    $("#OptionAdd .text").each(function(j){
        if($(this).val())
        {
            html+="<li rel='"+$(this).val()+"'>"+qType+String.fromCharCode(65+j)+".&nbsp;"+$(this).val()+"</li>";
            OHtml+="<tr class='repeat'><td class='content'>选项:&nbsp;&nbsp;<input type='text' class='text' value='"+$(this).val()+"' style='width:300px'></td> "
            OHtml+="<td class='del'><ul class='icons'><li class='ui-state-default ui-corner-all' ><span class='ui-icon ui-icon-minusthick'></span></li></ul></td></tr>";
        }
    });
    
    if(Qid) //是否修改问题
    {
         html+= qOther+"</ul>";
        $("#Q"+Qid).empty();
        $("#Q"+Qid).append(html);
        
        //编辑事件
        BindEdit(Qid,OHtml,QName,$("#QuestionType").val()); 
        

    }
    else
    {
        html+= qOther+"</ul></div>"
        $("#QuestionForm").append(html);
        //编辑事件
        BindEdit(qNum,OHtml,QName); 
         
    }
    //删除事件
    $("#D"+qNum).click(function(){
        $("#Q"+qNum).empty();
    });
   
}
//初始化选项
function InitOption()
{
    $(".repeat").remove();
    var html= "<tr class='repeat'> ";  
        html+="    <td class='content'>选项:&nbsp;&nbsp;<input type='text' class='text' style='width:300px'></td>  ";
        html+="    <td class='del'><ul class='icons'><li class='ui-state-default ui-corner-all' ><span class='ui-icon ui-icon-minusthick'></span></li></ul></td>  ";
        html+="</tr>";
    for(var i=0;i< 4;i++)
    {
        $("#OptionAdd").append(html)
    }
    //删除按钮绑定
    $("#OptionAdd .del").click(function() {   
        $(this).parents(".repeat").remove();   
    });
}

//绑定编辑事件
function BindEdit(qNum,OHtml,QName,QType)
{
         $("#E"+qNum).click(function(){
             //打开窗口
             $('#dialog').dialog('open');
             //清理弹出窗口
             $(".repeat").remove();
             //窗口各项赋值
             $("#OptionAdd").append(OHtml);
             setRadio('QuestionType',QType);
             $("#QuestionName").val(QName);
             //删除按钮绑定
             $("#OptionAdd .del").click(function() {   
                 $(this).parents(".repeat").remove();   
             });
             //绑定赋值
             $("#Qid").val(qNum);
             
             
         });
}

//提交问卷
function SubmitForm()
{
    var qn = new dtoQuestionnaire();
    qn.TITLE = $("#txtQuestionnaire").val();
    $("#QuestionForm div").each(function(i,n){
       var q = new dtoQuestion();
       q.TYPE = $(this).attr("qType");
       q.QUESTION1 = $(this).attr("rel");
       $(this).find('li').each(function(){
           if($(this).attr("rel"))
           {
             var o = new dtoOption();
             o.VAL = $(this).attr("rel");
             o.LABEL = $(this).attr("rel");
             q.Options.push(o);
           }
       });
       qn.Questions.push(q);
    });
    
    //格式化为Json集合
    var jsonText = JSON.stringify(qn)
    //上传数据
    $.ajax({
      type: "POST",
      url: "./Comsrv/Comsrv.aspx?oper=PutQuestionnaire",
      data: jsonText,
      success: function(msg){
            if (msg=="true")
            {
               alert("成功啦！");
            }
            else
            {
               alert("对不起添加失败,请重新尝试！");     
                 
            }
       }
    });
}

//设置单选
function setRadio(name,aValue){    //传入对象name
   var radio_name = document.getElementsByName(name)
   for(var i=0;i<radio_name.length;i++) //循环
   {
      if(radio_name[i].value==aValue) //比较值
      { 
        radio_name[i].checked=true; //修改选中状态
        break; //停止循环
      }
    }
}